package com.link.base.wechat.wxcard.model;

import java.util.List;

/**
 * 卡卷基本信息
 *
 * @author 路江
 * @date 2019/02/26 18:45
 */
public class BaseInfo {
    /**
     *卡券的商户logo
     */
    private String logoUrl;
    /**
     *商户名字,字数上限为12个汉字。
     */
    private String brandName;
    /**
     * //码型： "CODE_TYPE_TEXT"文 本 ； "CODE_TYPE_BARCODE"一维码 "CODE_TYPE_QRCODE"二维码 "CODE_TYPE_ONLY_QRCODE",二维码无code显示；
     *     // "CODE_TYPE_ONLY_BARCODE",一维码无code显示；CODE_TYPE_NONE， 不显示code和条形码类型
     */

    private String codeType;
    /**
     *卡券名，字数上限为9个汉字。(建议涵盖卡券属性、服务及金额)。
     */
    private String title;
    /**
     *券颜色。按色彩规范标注填写Color010-Color100。
     */
    private String color;
    /**
     *卡券使用提醒，字数上限为16个汉字。
     */
    private String notice;
    /**
     *卡券使用说明，字数上限为1024个汉字。
     */
    private String description;
    /**
     *使用日期，有效期的信息。
     */
    private DateInfo dateInfo;
    /**
     *商品信息。
     */
    private Sku sku;
    /**
     *是否自定义Code码 。填写true或false，默认为false。 通常自有优惠码系统的开发者选择 自定义Code码，
     * 并在卡券投放时带入 Code码，详情见 是否自定义Code码 。
     *
     */
    private Boolean useCustomCode;
    /**
     *填入GET_CUSTOM_CODE_MODE_DEPOSIT 表示该卡券为预存code模式卡券，
     * 须导入超过库存数目的自定义code后方可投放， 填入该字段后，
     * quantity字段须为0,须导入code 后再增加库存
     */
    private String getCustomCodeMode;
    /**
     *客服电话。
     */
    private Boolean bindOpenid;
    /**
     *门店位置poiid。 调用 POI门店管理接 口 获取门店位置poiid。具备线下门店 的商户为必填。
     */
    private String servicePhone;
    /**
     *设置本卡券支持全部门店，与location_id_list互斥
     */
    private List<Long> locationIdList;
    /**
     *卡券顶部居中的按钮，仅在卡券状 态正常(可以核销)时显示
     */
    private Boolean useAllLocations;
    /**
     *显示在入口下方的提示语 ，仅在卡券状态正常(可以核销)时显示。
     */
    private String centerTitle;
    /**
     *顶部居中的url ，仅在卡券状态正常(可以核销)时显示。
     */
    private String centerUrl;
    /**
     *卡券跳转的小程序的user_name，仅可跳转该 公众号绑定的小程序
     */
    private String centerAppBrandUserName;
    /**
     *卡券跳转的小程序的path
     */
    private String centerAppBrandPass;
    /**
     *自定义跳转外链的入口名字。
     */
    private String customUrlName;
    /**
     *自定义跳转的URL。
     */
    private String customUrl;
    /**
     *显示在入口右侧的提示语。
     */
    private String customUrlSubTitle;
    /**
     *卡券跳转的小程序的user_name，仅可跳转该 公众号绑定的小程序 。
     */
    private String customAppBrandUserName;
    /**
     *卡券跳转的小程序的path
     */
    private String customAppBrandPass;
    /**
     *营销场景的自定义入口名称。
     */
    private String promotionUrlName;
    /**
     *入口跳转外链的地址链接。
     */
    private String promotionUrl;
    /**
     *显示在营销入口右侧的提示语。
     */
    private String promotionUrlSubTitle;
    /**
     *卡券跳转的小程序的user_name，仅可跳转该 公众号绑定的小程序 。
     */
    private String promotionAppBrandUserName;
    /**
     *卡券跳转的小程序的path
     */
    private String promotionAppBrandPass;
    /**
     *每人可领券的数量限制,不填写默认为50
     */
    private int getLimit;
    /**
     *每人可核销的数量限制,不填写默认为50
     */
    private int useLimit;
    /**
     *卡券领取页面是否可分享
     */
    private Boolean canShare;
    /**
     * 卡券是否可转赠
     */
    private Boolean canGiveFriend;

    private Boolean needPushOnView;
    /**
     * 来源
     */
    private String source;

    private String centerSubTitle;
    /**
     * 礼品卡价格属性
     */
    private GiftcardInfo giftcardInfo;
    /**
     * 礼品卡最大可赠送次数
     */
    private int maxGiveFriendTimes;

    public String getLogoUrl() {
        return logoUrl;
    }

    public void setLogoUrl(String logoUrl) {
        this.logoUrl = logoUrl;
    }

    public String getBrandName() {
        return brandName;
    }

    public void setBrandName(String brandName) {
        this.brandName = brandName;
    }

    public String getCodeType() {
        return codeType;
    }

    public void setCodeType(String codeType) {
        this.codeType = codeType;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public String getNotice() {
        return notice;
    }

    public void setNotice(String notice) {
        this.notice = notice;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public DateInfo getDateInfo() {
        return dateInfo;
    }

    public void setDateInfo(DateInfo dateInfo) {
        this.dateInfo = dateInfo;
    }

    public Sku getSku() {
        return sku;
    }

    public void setSku(Sku sku) {
        this.sku = sku;
    }

    public Boolean getUseCustomCode() {
        return useCustomCode;
    }

    public void setUseCustomCode(Boolean useCustomCode) {
        this.useCustomCode = useCustomCode;
    }

    public String getGetCustomCodeMode() {
        return getCustomCodeMode;
    }

    public void setGetCustomCodeMode(String getCustomCodeMode) {
        this.getCustomCodeMode = getCustomCodeMode;
    }

    public Boolean getBindOpenid() {
        return bindOpenid;
    }

    public void setBindOpenid(Boolean bindOpenid) {
        this.bindOpenid = bindOpenid;
    }

    public String getServicePhone() {
        return servicePhone;
    }

    public void setServicePhone(String servicePhone) {
        this.servicePhone = servicePhone;
    }

    public List<Long> getLocationIdList() {
        return locationIdList;
    }

    public void setLocationIdList(List<Long> locationIdList) {
        this.locationIdList = locationIdList;
    }

    public Boolean getUseAllLocations() {
        return useAllLocations;
    }

    public void setUseAllLocations(Boolean useAllLocations) {
        this.useAllLocations = useAllLocations;
    }

    public String getCenterTitle() {
        return centerTitle;
    }

    public void setCenterTitle(String centerTitle) {
        this.centerTitle = centerTitle;
    }

    public String getCenterUrl() {
        return centerUrl;
    }

    public void setCenterUrl(String centerUrl) {
        this.centerUrl = centerUrl;
    }

    public String getCenterAppBrandUserName() {
        return centerAppBrandUserName;
    }

    public void setCenterAppBrandUserName(String centerAppBrandUserName) {
        this.centerAppBrandUserName = centerAppBrandUserName;
    }

    public String getCenterAppBrandPass() {
        return centerAppBrandPass;
    }

    public void setCenterAppBrandPass(String centerAppBrandPass) {
        this.centerAppBrandPass = centerAppBrandPass;
    }

    public String getCustomUrlName() {
        return customUrlName;
    }

    public void setCustomUrlName(String customUrlName) {
        this.customUrlName = customUrlName;
    }

    public String getCustomUrl() {
        return customUrl;
    }

    public void setCustomUrl(String customUrl) {
        this.customUrl = customUrl;
    }

    public String getCustomUrlSubTitle() {
        return customUrlSubTitle;
    }

    public void setCustomUrlSubTitle(String customUrlSubTitle) {
        this.customUrlSubTitle = customUrlSubTitle;
    }

    public String getCustomAppBrandUserName() {
        return customAppBrandUserName;
    }

    public void setCustomAppBrandUserName(String customAppBrandUserName) {
        this.customAppBrandUserName = customAppBrandUserName;
    }

    public String getCustomAppBrandPass() {
        return customAppBrandPass;
    }

    public void setCustomAppBrandPass(String customAppBrandPass) {
        this.customAppBrandPass = customAppBrandPass;
    }

    public String getPromotionUrlName() {
        return promotionUrlName;
    }

    public void setPromotionUrlName(String promotionUrlName) {
        this.promotionUrlName = promotionUrlName;
    }

    public String getPromotionUrl() {
        return promotionUrl;
    }

    public void setPromotionUrl(String promotionUrl) {
        this.promotionUrl = promotionUrl;
    }

    public String getPromotionUrlSubTitle() {
        return promotionUrlSubTitle;
    }

    public void setPromotionUrlSubTitle(String promotionUrlSubTitle) {
        this.promotionUrlSubTitle = promotionUrlSubTitle;
    }

    public String getPromotionAppBrandUserName() {
        return promotionAppBrandUserName;
    }

    public void setPromotionAppBrandUserName(String promotionAppBrandUserName) {
        this.promotionAppBrandUserName = promotionAppBrandUserName;
    }

    public String getPromotionAppBrandPass() {
        return promotionAppBrandPass;
    }

    public void setPromotionAppBrandPass(String promotionAppBrandPass) {
        this.promotionAppBrandPass = promotionAppBrandPass;
    }

    public int getGetLimit() {
        return getLimit;
    }

    public void setGetLimit(int getLimit) {
        this.getLimit = getLimit;
    }

    public int getUseLimit() {
        return useLimit;
    }

    public void setUseLimit(int useLimit) {
        this.useLimit = useLimit;
    }

    public Boolean getCanShare() {
        return canShare;
    }

    public void setCanShare(Boolean canShare) {
        this.canShare = canShare;
    }

    public Boolean getCanGiveFriend() {
        return canGiveFriend;
    }

    public void setCanGiveFriend(Boolean canGiveFriend) {
        this.canGiveFriend = canGiveFriend;
    }

    public Boolean getNeedPushOnView() {
        return needPushOnView;
    }

    public void setNeedPushOnView(Boolean needPushOnView) {
        this.needPushOnView = needPushOnView;
    }

    public String getSource() {
        return source;
    }

    public void setSource(String source) {
        this.source = source;
    }

    public String getCenterSubTitle() {
        return centerSubTitle;
    }

    public void setCenterSubTitle(String centerSubTitle) {
        this.centerSubTitle = centerSubTitle;
    }

    public GiftcardInfo getGiftcardInfo() {
        return giftcardInfo;
    }

    public void setGiftcardInfo(GiftcardInfo giftcardInfo) {
        this.giftcardInfo = giftcardInfo;
    }

    public int getMaxGiveFriendTimes() {
        return maxGiveFriendTimes;
    }

    public void setMaxGiveFriendTimes(int maxGiveFriendTimes) {
        this.maxGiveFriendTimes = maxGiveFriendTimes;
    }
}
